0 CpxTRS
↳1 NestedDefinedSymbolProof (BOTH BOUNDS(ID, ID), 0 ms)
↳2 CpxTRS
↳3 TrsToWeightedTrsProof (BOTH BOUNDS(ID, ID), 0 ms)
↳4 CpxWeightedTrs
↳5 TypeInferenceProof (BOTH BOUNDS(ID, ID), 0 ms)
↳6 CpxTypedWeightedTrs
↳7 CompletionProof (UPPER BOUND(ID), 6 ms)
↳8 CpxTypedWeightedCompleteTrs
↳9 NarrowingProof (BOTH BOUNDS(ID, ID), 0 ms)
↳10 CpxTypedWeightedCompleteTrs
↳11 CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID), 0 ms)
↳12 CpxRNTS
↳13 InliningProof (UPPER BOUND(ID), 398 ms)
↳14 CpxRNTS
↳15 SimplificationProof (BOTH BOUNDS(ID, ID), 0 ms)
↳16 CpxRNTS
↳17 CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID), 0 ms)
↳18 CpxRNTS
↳19 IntTrsBoundProof (UPPER BOUND(ID), 189 ms)
↳20 CpxRNTS
↳21 IntTrsBoundProof (UPPER BOUND(ID), 50 ms)
↳22 CpxRNTS
↳23 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳24 CpxRNTS
↳25 IntTrsBoundProof (UPPER BOUND(ID), 2556 ms)
↳26 CpxRNTS
↳27 IntTrsBoundProof (UPPER BOUND(ID), 1258 ms)
↳28 CpxRNTS
↳29 FinalProof (⇔, 0 ms)
↳30 BOUNDS(1, n^1)
f(a) → b
f(c) → d
f(g(x, y)) → g(f(x), f(y))
f(h(x, y)) → g(h(y, f(x)), h(x, f(y)))
g(x, x) → h(e, x)
f(a) → b
f(c) → d
f(h(x, y)) → g(h(y, f(x)), h(x, f(y)))
g(x, x) → h(e, x)
f(a) → b [1]
f(c) → d [1]
f(h(x, y)) → g(h(y, f(x)), h(x, f(y))) [1]
g(x, x) → h(e, x) [1]
f(a) → b [1]
f(c) → d [1]
f(h(x, y)) → g(h(y, f(x)), h(x, f(y))) [1]
g(x, x) → h(e, x) [1]
f :: a:b:c:d:h:e → a:b:c:d:h:e a :: a:b:c:d:h:e b :: a:b:c:d:h:e c :: a:b:c:d:h:e d :: a:b:c:d:h:e h :: a:b:c:d:h:e → a:b:c:d:h:e → a:b:c:d:h:e g :: a:b:c:d:h:e → a:b:c:d:h:e → a:b:c:d:h:e e :: a:b:c:d:h:e |
(a) The obligation is a constructor system where every type has a constant constructor,
(b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols:
none
(c) The following functions are completely defined:
f
g
f(v0) → null_f [0]
g(v0, v1) → null_g [0]
null_f, null_g
Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules:
The TRS has the following type information:
Rewrite Strategy: INNERMOST |
Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules:
The TRS has the following type information:
Rewrite Strategy: INNERMOST |
a => 0
b => 1
c => 2
d => 3
e => 4
null_f => 0
null_g => 0
f(z) -{ 2 }→ g(1 + y + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 0) :|: x' >= 0, y >= 0, y' >= 0, z = 1 + (1 + x' + y') + y
f(z) -{ 2 }→ g(1 + y + 3, 1 + 2 + 0) :|: y >= 0, z = 1 + 2 + y
f(z) -{ 2 }→ g(1 + y + 1, 1 + 0 + 0) :|: y >= 0, z = 1 + 0 + y
f(z) -{ 1 }→ g(1 + y + 0, 1 + x + 0) :|: z = 1 + x + y, x >= 0, y >= 0
f(z) -{ 3 }→ g(1 + 2 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 3) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + 2
f(z) -{ 3 }→ g(1 + 2 + 3, 1 + 2 + 3) :|: z = 1 + 2 + 2
f(z) -{ 3 }→ g(1 + 2 + 1, 1 + 0 + 3) :|: z = 1 + 0 + 2
f(z) -{ 2 }→ g(1 + 2 + 0, 1 + x + 3) :|: x >= 0, z = 1 + x + 2
f(z) -{ 3 }→ g(1 + 0 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 1) :|: z = 1 + (1 + x' + y') + 0, x' >= 0, y' >= 0
f(z) -{ 3 }→ g(1 + 0 + 3, 1 + 2 + 1) :|: z = 1 + 2 + 0
f(z) -{ 3 }→ g(1 + 0 + 1, 1 + 0 + 1) :|: z = 1 + 0 + 0
f(z) -{ 2 }→ g(1 + 0 + 0, 1 + x + 1) :|: x >= 0, z = 1 + x + 0
f(z) -{ 3 }→ g(1 + (1 + x'' + y'') + 1, 1 + 0 + g(1 + y'' + f(x''), 1 + x'' + f(y''))) :|: y'' >= 0, z = 1 + 0 + (1 + x'' + y''), x'' >= 0
f(z) -{ 3 }→ g(1 + (1 + x1 + y1) + 3, 1 + 2 + g(1 + y1 + f(x1), 1 + x1 + f(y1))) :|: y1 >= 0, x1 >= 0, z = 1 + 2 + (1 + x1 + y1)
f(z) -{ 3 }→ g(1 + (1 + x2 + y2) + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + g(1 + y2 + f(x2), 1 + x2 + f(y2))) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + (1 + x2 + y2), y2 >= 0, x2 >= 0
f(z) -{ 2 }→ g(1 + (1 + x3 + y3) + 0, 1 + x + g(1 + y3 + f(x3), 1 + x3 + f(y3))) :|: z = 1 + x + (1 + x3 + y3), x >= 0, y3 >= 0, x3 >= 0
f(z) -{ 1 }→ 3 :|: z = 2
f(z) -{ 1 }→ 1 :|: z = 0
f(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
g(z, z') -{ 0 }→ 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1
g(z, z') -{ 1 }→ 1 + 4 + x :|: z' = x, x >= 0, z = x
g(z, z') -{ 1 }→ 1 + 4 + x :|: z' = x, x >= 0, z = x
g(z, z') -{ 0 }→ 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1
f(z) -{ 2 }→ g(1 + y + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 0) :|: x' >= 0, y >= 0, y' >= 0, z = 1 + (1 + x' + y') + y
f(z) -{ 3 }→ g(1 + 2 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 3) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + 2
f(z) -{ 3 }→ g(1 + 0 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 1) :|: z = 1 + (1 + x' + y') + 0, x' >= 0, y' >= 0
f(z) -{ 3 }→ g(1 + (1 + x'' + y'') + 1, 1 + 0 + g(1 + y'' + f(x''), 1 + x'' + f(y''))) :|: y'' >= 0, z = 1 + 0 + (1 + x'' + y''), x'' >= 0
f(z) -{ 3 }→ g(1 + (1 + x1 + y1) + 3, 1 + 2 + g(1 + y1 + f(x1), 1 + x1 + f(y1))) :|: y1 >= 0, x1 >= 0, z = 1 + 2 + (1 + x1 + y1)
f(z) -{ 3 }→ g(1 + (1 + x2 + y2) + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + g(1 + y2 + f(x2), 1 + x2 + f(y2))) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + (1 + x2 + y2), y2 >= 0, x2 >= 0
f(z) -{ 2 }→ g(1 + (1 + x3 + y3) + 0, 1 + x + g(1 + y3 + f(x3), 1 + x3 + f(y3))) :|: z = 1 + x + (1 + x3 + y3), x >= 0, y3 >= 0, x3 >= 0
f(z) -{ 1 }→ 3 :|: z = 2
f(z) -{ 1 }→ 1 :|: z = 0
f(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 1 = v0, 1 + 0 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 1 = v0, 1 + 0 + 3 = v1
f(z) -{ 2 }→ 0 :|: y >= 0, z = 1 + 0 + y, v0 >= 0, v1 >= 0, 1 + y + 1 = v0, 1 + 0 + 0 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 3 = v0, 1 + 2 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 3 = v0, 1 + 2 + 3 = v1
f(z) -{ 2 }→ 0 :|: y >= 0, z = 1 + 2 + y, v0 >= 0, v1 >= 0, 1 + y + 3 = v0, 1 + 2 + 0 = v1
f(z) -{ 2 }→ 0 :|: x >= 0, z = 1 + x + 0, v0 >= 0, v1 >= 0, 1 + 0 + 0 = v0, 1 + x + 1 = v1
f(z) -{ 2 }→ 0 :|: x >= 0, z = 1 + x + 2, v0 >= 0, v1 >= 0, 1 + 2 + 0 = v0, 1 + x + 3 = v1
f(z) -{ 1 }→ 0 :|: z = 1 + x + y, x >= 0, y >= 0, v0 >= 0, v1 >= 0, 1 + y + 0 = v0, 1 + x + 0 = v1
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 0, 1 + 0 + 1 = x, x >= 0
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 2, 1 + 0 + 3 = x, x >= 0, 1 + 2 + 1 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 0, 1 + 2 + 1 = x, x >= 0, 1 + 0 + 3 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 2, 1 + 2 + 3 = x, x >= 0
f(z) -{ 2 }→ 1 + 4 + x' :|: z = 1 + x + y, x >= 0, y >= 0, 1 + x + 0 = x', x' >= 0, 1 + y + 0 = x'
g(z, z') -{ 0 }→ 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1
g(z, z') -{ 1 }→ 1 + 4 + x :|: z' = x, x >= 0, z = x
f(z) -{ 2 }→ g(1 + y + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 0) :|: x' >= 0, y >= 0, y' >= 0, z = 1 + (1 + x' + y') + y
f(z) -{ 3 }→ g(1 + 2 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 3) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + 2
f(z) -{ 3 }→ g(1 + 0 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 1) :|: z = 1 + (1 + x' + y') + 0, x' >= 0, y' >= 0
f(z) -{ 3 }→ g(1 + (1 + x'' + y'') + 1, 1 + 0 + g(1 + y'' + f(x''), 1 + x'' + f(y''))) :|: y'' >= 0, z = 1 + 0 + (1 + x'' + y''), x'' >= 0
f(z) -{ 3 }→ g(1 + (1 + x1 + y1) + 3, 1 + 2 + g(1 + y1 + f(x1), 1 + x1 + f(y1))) :|: y1 >= 0, x1 >= 0, z = 1 + 2 + (1 + x1 + y1)
f(z) -{ 3 }→ g(1 + (1 + x2 + y2) + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + g(1 + y2 + f(x2), 1 + x2 + f(y2))) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + (1 + x2 + y2), y2 >= 0, x2 >= 0
f(z) -{ 2 }→ g(1 + (1 + x3 + y3) + 0, 1 + x + g(1 + y3 + f(x3), 1 + x3 + f(y3))) :|: z = 1 + x + (1 + x3 + y3), x >= 0, y3 >= 0, x3 >= 0
f(z) -{ 1 }→ 3 :|: z = 2
f(z) -{ 1 }→ 1 :|: z = 0
f(z) -{ 0 }→ 0 :|: z >= 0
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 1 = v0, 1 + 0 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 1 = v0, 1 + 0 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 1) + 1 = v0, 1 + 0 + 0 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 3 = v0, 1 + 2 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 3 = v0, 1 + 2 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 3) + 3 = v0, 1 + 2 + 0 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + 0 + 0 = v0, 1 + (z - 1) + 1 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + 2 + 0 = v0, 1 + (z - 3) + 3 = v1
f(z) -{ 1 }→ 0 :|: z = 1 + x + y, x >= 0, y >= 0, v0 >= 0, v1 >= 0, 1 + y + 0 = v0, 1 + x + 0 = v1
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 0, 1 + 0 + 1 = x, x >= 0
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 2, 1 + 0 + 3 = x, x >= 0, 1 + 2 + 1 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 0, 1 + 2 + 1 = x, x >= 0, 1 + 0 + 3 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 2, 1 + 2 + 3 = x, x >= 0
f(z) -{ 2 }→ 1 + 4 + x' :|: z = 1 + x + y, x >= 0, y >= 0, 1 + x + 0 = x', x' >= 0, 1 + y + 0 = x'
g(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
g(z, z') -{ 1 }→ 1 + 4 + z' :|: z' >= 0, z = z'
{ g } { f } |
f(z) -{ 2 }→ g(1 + y + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 0) :|: x' >= 0, y >= 0, y' >= 0, z = 1 + (1 + x' + y') + y
f(z) -{ 3 }→ g(1 + 2 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 3) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + 2
f(z) -{ 3 }→ g(1 + 0 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 1) :|: z = 1 + (1 + x' + y') + 0, x' >= 0, y' >= 0
f(z) -{ 3 }→ g(1 + (1 + x'' + y'') + 1, 1 + 0 + g(1 + y'' + f(x''), 1 + x'' + f(y''))) :|: y'' >= 0, z = 1 + 0 + (1 + x'' + y''), x'' >= 0
f(z) -{ 3 }→ g(1 + (1 + x1 + y1) + 3, 1 + 2 + g(1 + y1 + f(x1), 1 + x1 + f(y1))) :|: y1 >= 0, x1 >= 0, z = 1 + 2 + (1 + x1 + y1)
f(z) -{ 3 }→ g(1 + (1 + x2 + y2) + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + g(1 + y2 + f(x2), 1 + x2 + f(y2))) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + (1 + x2 + y2), y2 >= 0, x2 >= 0
f(z) -{ 2 }→ g(1 + (1 + x3 + y3) + 0, 1 + x + g(1 + y3 + f(x3), 1 + x3 + f(y3))) :|: z = 1 + x + (1 + x3 + y3), x >= 0, y3 >= 0, x3 >= 0
f(z) -{ 1 }→ 3 :|: z = 2
f(z) -{ 1 }→ 1 :|: z = 0
f(z) -{ 0 }→ 0 :|: z >= 0
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 1 = v0, 1 + 0 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 1 = v0, 1 + 0 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 1) + 1 = v0, 1 + 0 + 0 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 3 = v0, 1 + 2 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 3 = v0, 1 + 2 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 3) + 3 = v0, 1 + 2 + 0 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + 0 + 0 = v0, 1 + (z - 1) + 1 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + 2 + 0 = v0, 1 + (z - 3) + 3 = v1
f(z) -{ 1 }→ 0 :|: z = 1 + x + y, x >= 0, y >= 0, v0 >= 0, v1 >= 0, 1 + y + 0 = v0, 1 + x + 0 = v1
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 0, 1 + 0 + 1 = x, x >= 0
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 2, 1 + 0 + 3 = x, x >= 0, 1 + 2 + 1 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 0, 1 + 2 + 1 = x, x >= 0, 1 + 0 + 3 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 2, 1 + 2 + 3 = x, x >= 0
f(z) -{ 2 }→ 1 + 4 + x' :|: z = 1 + x + y, x >= 0, y >= 0, 1 + x + 0 = x', x' >= 0, 1 + y + 0 = x'
g(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
g(z, z') -{ 1 }→ 1 + 4 + z' :|: z' >= 0, z = z'
f(z) -{ 2 }→ g(1 + y + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 0) :|: x' >= 0, y >= 0, y' >= 0, z = 1 + (1 + x' + y') + y
f(z) -{ 3 }→ g(1 + 2 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 3) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + 2
f(z) -{ 3 }→ g(1 + 0 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 1) :|: z = 1 + (1 + x' + y') + 0, x' >= 0, y' >= 0
f(z) -{ 3 }→ g(1 + (1 + x'' + y'') + 1, 1 + 0 + g(1 + y'' + f(x''), 1 + x'' + f(y''))) :|: y'' >= 0, z = 1 + 0 + (1 + x'' + y''), x'' >= 0
f(z) -{ 3 }→ g(1 + (1 + x1 + y1) + 3, 1 + 2 + g(1 + y1 + f(x1), 1 + x1 + f(y1))) :|: y1 >= 0, x1 >= 0, z = 1 + 2 + (1 + x1 + y1)
f(z) -{ 3 }→ g(1 + (1 + x2 + y2) + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + g(1 + y2 + f(x2), 1 + x2 + f(y2))) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + (1 + x2 + y2), y2 >= 0, x2 >= 0
f(z) -{ 2 }→ g(1 + (1 + x3 + y3) + 0, 1 + x + g(1 + y3 + f(x3), 1 + x3 + f(y3))) :|: z = 1 + x + (1 + x3 + y3), x >= 0, y3 >= 0, x3 >= 0
f(z) -{ 1 }→ 3 :|: z = 2
f(z) -{ 1 }→ 1 :|: z = 0
f(z) -{ 0 }→ 0 :|: z >= 0
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 1 = v0, 1 + 0 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 1 = v0, 1 + 0 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 1) + 1 = v0, 1 + 0 + 0 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 3 = v0, 1 + 2 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 3 = v0, 1 + 2 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 3) + 3 = v0, 1 + 2 + 0 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + 0 + 0 = v0, 1 + (z - 1) + 1 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + 2 + 0 = v0, 1 + (z - 3) + 3 = v1
f(z) -{ 1 }→ 0 :|: z = 1 + x + y, x >= 0, y >= 0, v0 >= 0, v1 >= 0, 1 + y + 0 = v0, 1 + x + 0 = v1
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 0, 1 + 0 + 1 = x, x >= 0
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 2, 1 + 0 + 3 = x, x >= 0, 1 + 2 + 1 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 0, 1 + 2 + 1 = x, x >= 0, 1 + 0 + 3 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 2, 1 + 2 + 3 = x, x >= 0
f(z) -{ 2 }→ 1 + 4 + x' :|: z = 1 + x + y, x >= 0, y >= 0, 1 + x + 0 = x', x' >= 0, 1 + y + 0 = x'
g(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
g(z, z') -{ 1 }→ 1 + 4 + z' :|: z' >= 0, z = z'
g: runtime: ?, size: O(n1) [5 + z'] |
f(z) -{ 2 }→ g(1 + y + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 0) :|: x' >= 0, y >= 0, y' >= 0, z = 1 + (1 + x' + y') + y
f(z) -{ 3 }→ g(1 + 2 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 3) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + 2
f(z) -{ 3 }→ g(1 + 0 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 1) :|: z = 1 + (1 + x' + y') + 0, x' >= 0, y' >= 0
f(z) -{ 3 }→ g(1 + (1 + x'' + y'') + 1, 1 + 0 + g(1 + y'' + f(x''), 1 + x'' + f(y''))) :|: y'' >= 0, z = 1 + 0 + (1 + x'' + y''), x'' >= 0
f(z) -{ 3 }→ g(1 + (1 + x1 + y1) + 3, 1 + 2 + g(1 + y1 + f(x1), 1 + x1 + f(y1))) :|: y1 >= 0, x1 >= 0, z = 1 + 2 + (1 + x1 + y1)
f(z) -{ 3 }→ g(1 + (1 + x2 + y2) + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + g(1 + y2 + f(x2), 1 + x2 + f(y2))) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + (1 + x2 + y2), y2 >= 0, x2 >= 0
f(z) -{ 2 }→ g(1 + (1 + x3 + y3) + 0, 1 + x + g(1 + y3 + f(x3), 1 + x3 + f(y3))) :|: z = 1 + x + (1 + x3 + y3), x >= 0, y3 >= 0, x3 >= 0
f(z) -{ 1 }→ 3 :|: z = 2
f(z) -{ 1 }→ 1 :|: z = 0
f(z) -{ 0 }→ 0 :|: z >= 0
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 1 = v0, 1 + 0 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 1 = v0, 1 + 0 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 1) + 1 = v0, 1 + 0 + 0 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 3 = v0, 1 + 2 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 3 = v0, 1 + 2 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 3) + 3 = v0, 1 + 2 + 0 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + 0 + 0 = v0, 1 + (z - 1) + 1 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + 2 + 0 = v0, 1 + (z - 3) + 3 = v1
f(z) -{ 1 }→ 0 :|: z = 1 + x + y, x >= 0, y >= 0, v0 >= 0, v1 >= 0, 1 + y + 0 = v0, 1 + x + 0 = v1
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 0, 1 + 0 + 1 = x, x >= 0
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 2, 1 + 0 + 3 = x, x >= 0, 1 + 2 + 1 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 0, 1 + 2 + 1 = x, x >= 0, 1 + 0 + 3 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 2, 1 + 2 + 3 = x, x >= 0
f(z) -{ 2 }→ 1 + 4 + x' :|: z = 1 + x + y, x >= 0, y >= 0, 1 + x + 0 = x', x' >= 0, 1 + y + 0 = x'
g(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
g(z, z') -{ 1 }→ 1 + 4 + z' :|: z' >= 0, z = z'
g: runtime: O(1) [1], size: O(n1) [5 + z'] |
f(z) -{ 2 }→ g(1 + y + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 0) :|: x' >= 0, y >= 0, y' >= 0, z = 1 + (1 + x' + y') + y
f(z) -{ 3 }→ g(1 + 2 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 3) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + 2
f(z) -{ 3 }→ g(1 + 0 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 1) :|: z = 1 + (1 + x' + y') + 0, x' >= 0, y' >= 0
f(z) -{ 3 }→ g(1 + (1 + x'' + y'') + 1, 1 + 0 + g(1 + y'' + f(x''), 1 + x'' + f(y''))) :|: y'' >= 0, z = 1 + 0 + (1 + x'' + y''), x'' >= 0
f(z) -{ 3 }→ g(1 + (1 + x1 + y1) + 3, 1 + 2 + g(1 + y1 + f(x1), 1 + x1 + f(y1))) :|: y1 >= 0, x1 >= 0, z = 1 + 2 + (1 + x1 + y1)
f(z) -{ 3 }→ g(1 + (1 + x2 + y2) + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + g(1 + y2 + f(x2), 1 + x2 + f(y2))) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + (1 + x2 + y2), y2 >= 0, x2 >= 0
f(z) -{ 2 }→ g(1 + (1 + x3 + y3) + 0, 1 + x + g(1 + y3 + f(x3), 1 + x3 + f(y3))) :|: z = 1 + x + (1 + x3 + y3), x >= 0, y3 >= 0, x3 >= 0
f(z) -{ 1 }→ 3 :|: z = 2
f(z) -{ 1 }→ 1 :|: z = 0
f(z) -{ 0 }→ 0 :|: z >= 0
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 1 = v0, 1 + 0 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 1 = v0, 1 + 0 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 1) + 1 = v0, 1 + 0 + 0 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 3 = v0, 1 + 2 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 3 = v0, 1 + 2 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 3) + 3 = v0, 1 + 2 + 0 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + 0 + 0 = v0, 1 + (z - 1) + 1 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + 2 + 0 = v0, 1 + (z - 3) + 3 = v1
f(z) -{ 1 }→ 0 :|: z = 1 + x + y, x >= 0, y >= 0, v0 >= 0, v1 >= 0, 1 + y + 0 = v0, 1 + x + 0 = v1
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 0, 1 + 0 + 1 = x, x >= 0
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 2, 1 + 0 + 3 = x, x >= 0, 1 + 2 + 1 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 0, 1 + 2 + 1 = x, x >= 0, 1 + 0 + 3 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 2, 1 + 2 + 3 = x, x >= 0
f(z) -{ 2 }→ 1 + 4 + x' :|: z = 1 + x + y, x >= 0, y >= 0, 1 + x + 0 = x', x' >= 0, 1 + y + 0 = x'
g(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
g(z, z') -{ 1 }→ 1 + 4 + z' :|: z' >= 0, z = z'
g: runtime: O(1) [1], size: O(n1) [5 + z'] |
f(z) -{ 2 }→ g(1 + y + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 0) :|: x' >= 0, y >= 0, y' >= 0, z = 1 + (1 + x' + y') + y
f(z) -{ 3 }→ g(1 + 2 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 3) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + 2
f(z) -{ 3 }→ g(1 + 0 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 1) :|: z = 1 + (1 + x' + y') + 0, x' >= 0, y' >= 0
f(z) -{ 3 }→ g(1 + (1 + x'' + y'') + 1, 1 + 0 + g(1 + y'' + f(x''), 1 + x'' + f(y''))) :|: y'' >= 0, z = 1 + 0 + (1 + x'' + y''), x'' >= 0
f(z) -{ 3 }→ g(1 + (1 + x1 + y1) + 3, 1 + 2 + g(1 + y1 + f(x1), 1 + x1 + f(y1))) :|: y1 >= 0, x1 >= 0, z = 1 + 2 + (1 + x1 + y1)
f(z) -{ 3 }→ g(1 + (1 + x2 + y2) + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + g(1 + y2 + f(x2), 1 + x2 + f(y2))) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + (1 + x2 + y2), y2 >= 0, x2 >= 0
f(z) -{ 2 }→ g(1 + (1 + x3 + y3) + 0, 1 + x + g(1 + y3 + f(x3), 1 + x3 + f(y3))) :|: z = 1 + x + (1 + x3 + y3), x >= 0, y3 >= 0, x3 >= 0
f(z) -{ 1 }→ 3 :|: z = 2
f(z) -{ 1 }→ 1 :|: z = 0
f(z) -{ 0 }→ 0 :|: z >= 0
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 1 = v0, 1 + 0 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 1 = v0, 1 + 0 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 1) + 1 = v0, 1 + 0 + 0 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 3 = v0, 1 + 2 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 3 = v0, 1 + 2 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 3) + 3 = v0, 1 + 2 + 0 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + 0 + 0 = v0, 1 + (z - 1) + 1 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + 2 + 0 = v0, 1 + (z - 3) + 3 = v1
f(z) -{ 1 }→ 0 :|: z = 1 + x + y, x >= 0, y >= 0, v0 >= 0, v1 >= 0, 1 + y + 0 = v0, 1 + x + 0 = v1
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 0, 1 + 0 + 1 = x, x >= 0
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 2, 1 + 0 + 3 = x, x >= 0, 1 + 2 + 1 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 0, 1 + 2 + 1 = x, x >= 0, 1 + 0 + 3 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 2, 1 + 2 + 3 = x, x >= 0
f(z) -{ 2 }→ 1 + 4 + x' :|: z = 1 + x + y, x >= 0, y >= 0, 1 + x + 0 = x', x' >= 0, 1 + y + 0 = x'
g(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
g(z, z') -{ 1 }→ 1 + 4 + z' :|: z' >= 0, z = z'
g: runtime: O(1) [1], size: O(n1) [5 + z'] f: runtime: ?, size: O(n1) [1 + 6·z] |
f(z) -{ 2 }→ g(1 + y + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 0) :|: x' >= 0, y >= 0, y' >= 0, z = 1 + (1 + x' + y') + y
f(z) -{ 3 }→ g(1 + 2 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 3) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + 2
f(z) -{ 3 }→ g(1 + 0 + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + 1) :|: z = 1 + (1 + x' + y') + 0, x' >= 0, y' >= 0
f(z) -{ 3 }→ g(1 + (1 + x'' + y'') + 1, 1 + 0 + g(1 + y'' + f(x''), 1 + x'' + f(y''))) :|: y'' >= 0, z = 1 + 0 + (1 + x'' + y''), x'' >= 0
f(z) -{ 3 }→ g(1 + (1 + x1 + y1) + 3, 1 + 2 + g(1 + y1 + f(x1), 1 + x1 + f(y1))) :|: y1 >= 0, x1 >= 0, z = 1 + 2 + (1 + x1 + y1)
f(z) -{ 3 }→ g(1 + (1 + x2 + y2) + g(1 + y' + f(x'), 1 + x' + f(y')), 1 + (1 + x' + y') + g(1 + y2 + f(x2), 1 + x2 + f(y2))) :|: x' >= 0, y' >= 0, z = 1 + (1 + x' + y') + (1 + x2 + y2), y2 >= 0, x2 >= 0
f(z) -{ 2 }→ g(1 + (1 + x3 + y3) + 0, 1 + x + g(1 + y3 + f(x3), 1 + x3 + f(y3))) :|: z = 1 + x + (1 + x3 + y3), x >= 0, y3 >= 0, x3 >= 0
f(z) -{ 1 }→ 3 :|: z = 2
f(z) -{ 1 }→ 1 :|: z = 0
f(z) -{ 0 }→ 0 :|: z >= 0
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 1 = v0, 1 + 0 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 0 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 1 = v0, 1 + 0 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 1) + 1 = v0, 1 + 0 + 0 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 0, v0 >= 0, v1 >= 0, 1 + 0 + 3 = v0, 1 + 2 + 1 = v1
f(z) -{ 3 }→ 0 :|: z = 1 + 2 + 2, v0 >= 0, v1 >= 0, 1 + 2 + 3 = v0, 1 + 2 + 3 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + (z - 3) + 3 = v0, 1 + 2 + 0 = v1
f(z) -{ 2 }→ 0 :|: z - 1 >= 0, v0 >= 0, v1 >= 0, 1 + 0 + 0 = v0, 1 + (z - 1) + 1 = v1
f(z) -{ 2 }→ 0 :|: z - 3 >= 0, v0 >= 0, v1 >= 0, 1 + 2 + 0 = v0, 1 + (z - 3) + 3 = v1
f(z) -{ 1 }→ 0 :|: z = 1 + x + y, x >= 0, y >= 0, v0 >= 0, v1 >= 0, 1 + y + 0 = v0, 1 + x + 0 = v1
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 0, 1 + 0 + 1 = x, x >= 0
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 0 + 2, 1 + 0 + 3 = x, x >= 0, 1 + 2 + 1 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 0, 1 + 2 + 1 = x, x >= 0, 1 + 0 + 3 = x
f(z) -{ 4 }→ 1 + 4 + x :|: z = 1 + 2 + 2, 1 + 2 + 3 = x, x >= 0
f(z) -{ 2 }→ 1 + 4 + x' :|: z = 1 + x + y, x >= 0, y >= 0, 1 + x + 0 = x', x' >= 0, 1 + y + 0 = x'
g(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
g(z, z') -{ 1 }→ 1 + 4 + z' :|: z' >= 0, z = z'
g: runtime: O(1) [1], size: O(n1) [5 + z'] f: runtime: O(n1) [11 + 91·z], size: O(n1) [1 + 6·z] |